package com.ynet.middleground.riskmanage.bean;

import javax.validation.constraints.NotBlank;

import com.ynet.core.common.BaseReqObjPager;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author songyf
 * @description 港存信息查询
 * @date 2020-08-19 20:28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "大港港存信息查询请求信息", description = "大港港存信息查询请求信息")
public class DgYardCargoQueryReq extends BaseReqObjPager {

    private static final long serialVersionUID = 8866765077746582581L;

    @ApiModelProperty(value = "作业委托人 ID", notes = "作业委托人 ID", required = true)
    @NotBlank(message = "作业委托人 ID不能为空")
    private String userNo;

    @ApiModelProperty(value = "作业委托人", notes = "作业委托人")
    private String userName;

    @ApiModelProperty(value = "货名代码（可支持多个并用,分隔开）", notes = "货名代码（可支持多个并用,分隔开）")
    private String typeCode;

    @ApiModelProperty(value = "货名（可支持多个并用,分隔开）", notes = "货名（可支持多个并用,分隔开）")
    private String typeName;

    @ApiModelProperty(value = "港存信息类型(1为静态/2为动态)", notes = "港存信息类型(1为静态/2为动态)", required = true)
    @NotBlank(message = "港存信息类型不能为空")
    private String informationType;

    @ApiModelProperty(value = "排序字段：shipid(船号),cargono(货号),invoyage(航次),berthdate(入库日期),cardno(提单号)；若此字段上传，则“排序方式”也必传，排序暂只支持静态信息类型",
        notes = "排序字段：shipid(船号),cargono(货号),invoyage(航次),berthdate(入库日期),cardno(提单号)；若此字段上传，则“排序方式”也必传，排序暂只支持静态信息类型")
    private String sortField;

    @ApiModelProperty(value = "排序方式：asc(升序)，desc(降序);若此字段上传，则“排序字段”也必传，排序暂只支持静态信息类型", notes = "排序方式：asc(升序)，desc(降序)，排序暂只支持静态信息类型")
    private String sortOrder;
}
